.sidebar
中控制了sidebar的屬性,並讓其呈現關閉模式 :/*Navbar*/
...
.sidebar {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--clr-white);
display: grid;
grid-template-rows: auto 1fr auto;
row-gap: 1rem;
box-shadow: var(--clr-red-dark);
transition: var(--transition);
transform: translate(-100%); /* 用此屬性控制縮放 */
}
...
.show-sidebar
卻改變transform
屬性,讓其呈現開啟模式 :/*Navbar*/
...
.show-sidebar {
transform: translate(0);
}
...
show-sidebar
的Class,就能開啟sidebar;反之,只要移除show-sidebar
,就能關閉sidebar<button class="sidebar-toggle">
<!-- 使用Font Awesome的Icon -->
<i class="fas fa-bars"></i>
</button>
將開合按鈕的Class設為
sidebar-toggle
<div class="sidebar-header">
<!-- 匯入標題圖片 -->
<img src="logo.svg" class="logo" alt="" />
<!-- 關閉按鈕 -->
<button class="close-btn">
<i class="fas fa-times"></i>
</button>
</div>
將關閉按鈕的Class設為
sclose-btn
class="sidebar-toggle"
去抓取開合按鈕
const toggleBtn = document.querySelector(".sidebar-toggle");
class="close-btn"
去抓取關閉連結
const closeBtn = document.querySelector(".close-btn");
class="sidebar"
去抓取整個aside元素
const sidebar = document.querySelector(".sidebar");
toggleBtn.addEventListener("click", function () {
sidebar.classList.toggle("show-sidebar");
});
classList.toggle
在上篇文章已有說明
closeBtn.addEventListener("click", function () {
sidebar.classList.remove("show-sidebar");
});
classList.remove
在上篇文章已有說明